home *** CD-ROM | disk | FTP | other *** search
- #include <stdlib.h>
- #include <stdio.h>
- #include <ctype.h>
- #include <string.h>
- #include <assert.h>
- #ifndef unix
- #include <stdarg.h>
- #endif
- #ifdef __TURBOC__
- #else
- #define farcalloc calloc
- #define farfree free
- #endif
- #define gprint printf
- #define myfree free
- #define true (!false)
- #define false 0
- struct s_range {int col,row,c1,r1,c2,r2,colfirst; };
- typedef struct s_range RANGE;
-
- int isnumber(char *s);
- char *range_int(char *s, int *v);
- int swapint(int *a, int *b);
- int find_mkey(char *cp, int *idx);
- extern int gle_debug;
- typedef char *TOKENS[];
- typedef unsigned char uchar;
- typedef double dbl;
- char *unquote(char *s);
- char *gledir(char *s);
- int cmd_load(char *fname, char *range, int ntok);
- int cmd_load_line(int x, int y, char *inbuff);
- int cmd_save(char *fname, char *range, char *format, int ntok);
- int set_missing(int x, int y);
- int set_scell(int x, int y, char *s);
- int clear_cell(int x, int y);
- int get_cellboth(int x, int y, double *v, char **s);
- int strcpydecimal(char *dest, char *src, int wid, int dpoints);
- int strcpywidth(char *dest, char *src, int wid);
- int set_outwidth(char *s);
- double vcell(int x, int y);
- int get_cell(int x, int y, double *v);
- int range_def(char *s, RANGE *r);
- int evaluate(char *exp, double *v);
- int var_find_rc(int *idx, int *var, int *nd, int c);
- int eval_setxy(double x, double y);
- int var_getstr(int v, char *s);
- int sub_clear(void);
- int setdstr(char **s, char *in);
- int alloc_temp(int n);
- int gle_abort(char *s);
- int d_tidyup(void);
- int text_inkey(void);
- int ncpy(char *d, char *s, int n);
- int token_space(void);
- #ifndef unix
- void wprintf(va_list arg_list, ...);
- void fner(va_list arg_list, ...);
- void printmess(va_list arg_list, ...);
- #endif
- char *sdup(char *s);
- void myfree(void *p);
- void myfrees(void *p, char *s);
- void *myallocn(long nitems,long size);
- void *myalloc(long size);
- void *myallocz(long size);
- int showpcode(long *p);
- int add_fn(char *pcode, int *plen, int i);
- int add_i(char *pcode,int *plen,long i);
- int add_f(char *pcode,int *plen,double f);
- int add_pcode(char *pcode,int *plen,char *fcode,int *flen);
- int add_string(char *pcode, int *plen, char *s);
- int add_var(char *pcode,int *plen,int i);
- char *eval_str(long *pcode,int *plen);
- char *find_non_space(char *cp);
- char *find_term(char *cp);
- char *un_quote(char *ct);
- int eval(long *pcode,int *cp,double *oval,char *ostr,int *otyp);
- int find_un(char *cp, int *idx,int *ret,int *np,int **plist);
- int isnumber(char *s);
- int lastchar(char *s, char c);
- int mystrcpy(char **d,char *s);
- int polish(char *expr,char *pcode,int *plen,int *rtype);
- int scheck(int v);
- int spop(int v);
- int spush(int v);
- int stack_op(char *pcode, int *plen, int stk[], int stkp[], int *nstk, int i, int p);
- int token(char *lin,TOKENS tok,int *ntok,char *outbuff);
- int var_add(char *name,int *idx,int *type) /* Add a variable to the list */;
- int var_find(char *name,int *idx,int *type) /* Find a variable in the list */;
- int var_findadd(char *name,int *idx,int *type) /* Add a variable to the list */;
- int var_get(int jj, double *v);
- int var_nlocal(int *l);
- int var_set(int jj, double v);
- int var_setstr(int jj, char *s);
- int xy_polar(double dx,double dy,double *radius,double *angle);
-
- int sub_clear(void);
- int sub_def(char *s);
- int sub_call(int idx,double *pval,char **pstr,int *npm);
- int sub_find(char *s,int *idx,int *zret, int *np, int **plist);
- int sub_get_startend(int idx, int *ss, int *ee);
- int sub_param(int idx,char *s);
- int sub_set_return(double d);
- int sub_set_startend(int idx, int ss, int ee);
-
- void refresh(void);
- void show_cell(int x, int y);
- void show_ifcell(int x, int y);
- char *scell(int x, int y);
- void scr_norm(void);
- void fner_clear(void);
- void show_cellwide(int x, int y);
- int do_command(char *cmd);
- int read_command(int *cmd,char *ans,char *ques);
- int do_arrow(int k);
- int hi_cell(int x,int y);
- int fix_cur(void);
- int window_norm(void);
- int scr_menuhi(void);
- int gotocell(int x, int y);
- int scr_grey(void);
- int scr_savexy(void);
- int scr_inv(void);
- int scr_restorexy(void);
- int read_str(int *cmd, char *s);
- int scr_refresh(void);
- int scr_right(int i);
- int scr_left(int i);
- int set_cell(int x, int y, double d);
-